If a software error corrupts a data object, or if erroneous data updates the data object, a data protection administrator may restore the data object to a previous state that does not include the corrupted or erroneous data. A backup/restore application executes a backup operation either occasionally or continuously to enable this restoration, storing a copy of each desired data object state (such as the values of data and these values' embedding in a database's data structures) within dedicated backup files. When the data protection administrator decides to return the data object to a previous state, the data protection administrator specifies the desired previous state by identifying a desired point in time when the data object was in this state, and instructs the backup/restore application to execute a restore operation to restore a copy of the corresponding backup files for that state to the data object.
A data object may be stored on a storage array, which is a disk storage system that includes multiple disk drives. Unlike a disk enclosure, a storage array has cache memory and advanced functionality, such as virtualization and Redundant Array of Independent Disks (RAID). A data protection administrator may manage a backup/restore application to create backups files of data objects and store the backup files of data objects on multiple storage arrays.
When a backup/restore application creates an incremental backup file for a data object or dataset, the backup/restore application only backs up data that is new or changed in the dataset since the backup/restore application created the most recent previous backup file. The backup/restore application identifies the most recently created backup file to enable the combination of the incremental backup file and the most recently created backup file, possibly along with other backup files created for the data set, into a full copy of the backed up dataset. The incremental backup file may be a partial incremental backup file that includes only a subset of the overall dataset, such that the incremental backup file is not a new version of the entirety of the most recent previous backup file, but is only a subset thereof. For example, after a backup/restore application creates an initial full backup file of data stored by two volumes A and B, the backup/restore application subsequently creates a partial incremental backup file that includes only data that changed in volume B following the creation of the initial full backup file.